Conditional advertising for instant messaging

ABSTRACT

An instant message sender user interface for an instant messaging communications session involving an instant message sender and an instant message recipient is rendered, the user interface including a conversation window. User input is entered by the instant message sender through manipulation of the user interface, the user input including data for transmission as an instant message from the instant message sender. An instruction by the instant message sender to send the data to the instant message recipient based on manipulation by the instant message sender of the user interface is resolved. Display of advertising content on the user interface is triggered responsive to the instruction by the instant message sender to send the data to the instant message recipient. The advertising content is displayed in the conversation window during at least a portion of the time that the instant message sender awaits a reply from the instant message recipient.

This application claims the benefit of U.S. Provisional Application No.60/870,036, filed on Dec. 14, 2006, and U.S. Provisional Application No.60/938,038, filed on May 15, 2007, both of which are incorporated hereinby reference in their entirety.

FIELD

This disclosure generally relates to instant messaging, and at least oneparticular implementation relates to the conditional display ofadvertising content in an instant messaging communications system.

BACKGROUND

Using on-line instant messaging services, computers users canparticipate in conversations with each other by sending and receivinginstant messages. Such conversations are sometimes displayed within aconversation window of an instant messaging graphical user interface.Instant messaging services sometimes generate advertising revenue bydisplaying banner advertisements on portions of the instant messaginggraphical user interface outside of the conversation window.

SUMMARY

According to one general implementation, a computer-implemented methodfor displaying advertising content in an instant messaging userinterface includes rendering an instant message sender user interfacefor an instant messaging communications session involving an instantmessage sender and an instant message recipient, the instant messagesender user interface including a conversation window configured todisplay instant messages communicated from the instant messagerecipient. Data for transmission as an instant message from the instantmessage sender is received from user input entered by the instantmessage sender through manipulation of the instant message sender userinterface. An instruction by the instant message sender to send the datato the instant message recipient based on manipulation is resolved bythe instant message sender of the instant message sender user interface.Responsive to the instruction by the instant message sender to send thedata to the instant message recipient, display of advertising content onthe instant message sender user interface is triggered. The advertisingcontent is displayed in the conversation window during at least aportion of the time that the instant message sender awaits receipt of areply from the instant message recipient.

Implementations may include one or more of the following features. Theadvertising content may be displayed independently of the instantmessages. Displaying the advertising content independently of theinstant messages may include displaying the advertising content in afirst portion of the conversation window and displaying the instantmessages in a second portion of the conversation window. Displaying theadvertising content independently of the instant messages may includedisplaying the advertising content out-of-line with the instantmessages. The advertising content for display in the conversation windowmay be selected based on content within the user input to betransmitted. An instant message communicated from the instant messagerecipient may be received, and the displayed advertising content may bealtered based on receiving the instant message communicated from theinstant message recipient. Altering the displayed advertising contentmay include locating the advertising content in another portion of theconversation window. Altering the displayed advertising content mayinclude changing the form of the advertising content. Altering thedisplayed advertising content comprises removing the advertising contentfrom the conversation window.

In another example, receiving an instant message communicated from theinstant message recipient may be received, and the advertising contentmay be displayed in the conversation window based on receiving theinstant message communicated from the instant message recipient. Theadvertising content may include at least first and second images, anddisplaying the advertising content may include displaying the firstimage, and replacing the first image with the second image. The firstimage may larger than the second image. Replacing the first image withthe second image may occur within ten seconds of displaying the firstimage. The communications session may be terminated, and the secondimage may be removed from display based upon terminating thecommunications session.

In another example, the advertising content may include at least onetransparent image. The advertising content may be animated advertisingcontent. The advertising content and the data may be transmitted to theinstant message recipient, and the advertising content and the data maybe displayed at a instant message recipient user interface. Theadvertising content displayed in the conversation window may obscure atleast a portion of the instant messages communicated from the instantmessage recipient. A context of the advertising content may be basedupon a context of the data or an attribute stored in a user profileassociated with the instant message sender. Displaying the advertisingcontent may include transmitting the data to an intermediary server,determining a context of the data at the intermediary server, selectingthe advertising content at the intermediary server based upon thecontext of the data, and transmitting the advertising content from theintermediary server to the instant message sender. The advertisingcontent may be determined at the intermediary server based upon anattribute stored in a user profile associated with the instant messagesender, and the advertising content may be transmitted from theintermediary server to the instant message sender. An attribute storedin a user profile associated with the instant message sender may betransmitted to the intermediary server, and the attribute may bereceived at the intermediary server such that the advertising content isdetermined based on the attribute. A user profile stored on theintermediary server may be accessed, and the attribute may be retrievedfrom the user profile, where the advertising content is determined basedon the retrieved attribute.

In another example, a counter may be incremented based upon generatingthe advertising content, and content to display as the advertisingcontent may be selected based upon the counter. A user input selectingthe advertising content may be received. The user input selecting theadvertising content may include receiving a mouse click on theadvertising content. The advertising content may expand within theconversation window based upon receiving the user input selecting theadvertising content. A browser may be directed to an address associatedwith the advertising content based upon receiving the user inputselecting the advertising content. A counter may be incremented basedupon receiving the user input selecting the advertising content, anumber of selections of the advertising content may be determined basedon the counter, and the determined number may be sent to a provider ofthe advertising content.

In yet another example, a user input to remove the advertising contentfrom the conversation window may be received, and the advertisingcontent may be removed from display in response to receiving the userinput. A set of selectable options related to the display of advertisingcontent may be presented, the set of options including an option toremove the advertising content from the conversation window. The displayof advertising content may be prevented in subsequent instant messagingcommunications sessions based on the received user input. The set ofoptions may be presented before the advertising content is displayed inthe conversation window. The set of options may presented after theadvertising content is displayed in the conversation window. The setoptions is presented before the advertising content is displayed. Theset of options may be presented after the advertising content isgenerated. A banner advertising content may be displayed on the instantmessage sender user interface. The conversation window may be configuredto display instant messages communicated from the instant messagesender.

This brief summary has been provided to enable a quick understanding ofvarious concepts and implementations described by this document. A morecomplete understanding can be obtained by reference to the followingdetailed description in connection with the attached drawings. It is tobe understood that other implementations may be utilized and changes maybe made. Implementations of any of the techniques described above mayinclude a method or process, an apparatus or system, or computersoftware on a computer-accessible medium. The details of particularimplementations are set forth in the accompanying drawings anddescription below. Other features will be apparent from the followingdescription, including the drawings, and the claims.

DESCRIPTION OF DRAWINGS

FIG. 1A is a block diagram illustrating an exemplary communicationssystem.

FIG. 1B is a flowchart depicting an exemplary process for displayingadvertising content in the conversation window of an instant messaginguser interface.

FIG. 2 is a flowchart depicting an exemplary process for displayingadvertising content in the conversation window of an instant messaginguser interface.

FIGS. 3 and 5 illustrate exemplary instant message sender userinterfaces.

FIG. 4 illustrates an exemplary process for generating advertisingcontent.

FIG. 6A-6F illustrates a series of exemplary instant message userinterfaces.

FIG. 7 depicts the exterior appearance of an exemplary communicationssystem, including a computer.

FIG. 8 depicts an example of an internal architecture of the computer ofFIG. 7.

Like reference numbers represent corresponding parts throughout.

DETAILED DESCRIPTION

Techniques are provided for using conditional advertising with instantmessaging applications, such that the display of advertising content iscontrolled based on whether a target audience is available for exposure.For example, the advertising content may be displayed in theconversation window of an instant message window, with display of theadvertising content being triggered by the transmission of a message byan instant messaging session participant.

By ‘conditional advertising,’ it is intended that the advertisingcontent is displayed ‘conditioned’ upon the target audience believed tobe available for exposure, and that the advertising content is displayedin a location where the target audience is expected to view. To betterpredict the availability of the target audience for exposure, instantmessaging activity may be monitored. Thus, the display of theadvertising content may be triggered by the transmission of an instantmessage. Placing the advertising content in the conversation window atthe time of message transmission increases the chance that thetransmitting user will absorb the advertising content, because thetransmitting user's attention is focused on the conversation window asthey are actively engaged in the instant messaging session, awaiting areply to a message just sent. More generally, advertising content isplaced in a location where the sender is expecting the messagerecipient's response at a time when the response is expected.

The conversation window is the portion of the instant messaging userinterface that displays the dialog exchanged between an instant messagesender and an instant message recipient. Depending upon the particulargraphical user interface selected, other regions or windows may also bedisplayed in the instant messaging user interface. For example, acomposition window may be displayed as the portion of the user interfacewhere the instant message sender enters a message to send to the instantmessage recipient. In some implementations, the conversation windowdisplays the entire dialog between the instant message sender and theinstant message recipient. Thus, the conversation window may includeinstant messages sent by the instant message sender and instant messagesreceived by the instant message recipient.

In other user interfaces, the conversation window merely includesinstant messages sent to the instant message sender. As such, the fulldialog between the instant message sender and the instant messagerecipient for the instant messaging session may be determined by readingthe content of the composition window, together with the content of theconversation window.

An instant messaging session may be an exchange of at least one instantmessage by either an instant message sender or an instant messagerecipient. Regardless of whether the dialog is perceived by an intendedrecipient, the sending of an instant message is itself sufficient toconstitute an exchange for purposes of this disclosure. The instantmessage sender's attention is focused on the conversation window for atime after the sender transmits an instant message to the instantmessage recipient while the sender waits for the recipient's responsemessage and this disclosure recognizes such focus as an opportunity tomake an impression. Of course, other such opportunities also arecontemplated as well.

FIG. 1A illustrates a communications system 100A including an instantmessaging sender device 110 that is capable of delivering and exchangingdata with an instant message recipient device 120, an instant messagehost device 130, and an advertising content server 140 through a datanetwork 150. Briefly, the instant message sender device 110 isconfigured to render an instant message sender user interface for aninstant messaging communications session involving an instant messagesender and an instant message recipient, the instant message sender userinterface including a conversation window configured to display instantmessages communicated from the instant message recipient, and to receivea user input accepting data for transmission as an instant message, fromthe instant message sender. The instant message sender device 110 isalso configured to transmit the data to an intermediary server, such asinstant message host device 130, to generate advertising content basedupon receiving the user input, and to display the advertising content inthe conversation window. The instant message host device 130 isconfigured to determine a context of the data at the intermediaryserver, to determine the advertising content at the intermediary serverbased upon the context of the data, and to transmit the advertisingcontent from the intermediary server to the instant message senderdevice 110.

In more detail, the instant message sender device 110 includes aninstant message system login 112, an instant message sender userinterface 114, an advertising content display component 116, and a userprofile 118. The instant message sender device 110 is configured torender an instant message sender user interface for use in an instantmessaging communications session involving an instant message sender andan instant message recipient. The login 112 allows an instant messagesender (or recipient) to log in to or authenticate with the instantmessage host device 130 from the sender's client machine. The login 112includes instructions that identify an instant message user's usernumber or screen name and password. The login server sends instructionsto the instant message host device 130 that allow the instant messageuser to access the instant message host device 130.

The instant message user interface includes a conversation window thatis configured to display instant messages communicated from the instantmessage recipient. The instant message sender device 110 is alsoconfigured to receive a user input that accepts data for transmission asan instant message, and to transmit the data to an intermediary server,such as, for example, instant message host device 130 or the advertisingcontent server 140. The instant message sender device 110 is alsoconfigured to generate advertising content based on the received userinput, and to display the advertising content in the conversation windowof the instant message sender user interface.

The instant message system login 112 enables an instant message senderto log in to or authenticate with the instant message host device 130.The instant message sender device 110 also includes an instant messagesender user interface 114 that is displayed to the instant messagesender on the instant message sender device 110. The instant messagesender user interface 114 enables the instant message sender to compose,transmit, and view instant messages that the instant message sendertransmits to an instant message recipient. The instant message senderuser interface 114 also enables the instant message sender to receiveinstant messages.

The instant message sender device 110 also includes an advertisingcontent display component 116 configured to display advertising contentin the conversation window of the instant message sender user interface114. The advertising display component 116 may be part of the instantmessaging application, or it may be a stand-alone program. Theadvertising content display component 116 may receive advertisingcontent from the instant message host device 130 or the advertisingcontent server 140, or the advertising content display component 116 mayretrieve advertising content stored locally on the instant messagesender device 110 and display the retrieved advertising content in theconversation window of the instant message sender user interface 114.Alternatively, the instant message sender device 110 may generateadvertising content itself.

The instant message sender device 110 also may include a user profile118 associated with the user or users logged into the instant messagingdevice through the instant message system login 112. The user profile118 may include preferences set by the user, such as, for example,wallpaper settings and the user's buddy list, or settings related to theadvertising content display component 116. Settings related to theadvertising content display component 116 may include an indication thatthe user prefers or does not prefer to see advertising content forcertain types of products. Additionally, the user profile 118 mayinclude a setting that indicates the maximum number of times the userwants to see a particular advertising content, as measured by a counter,or information related to the user's demographic characteristics such asthe user's age and gender. Information stored in the user profile 118may be used to select advertising content to display in the conversationwindow of the instant message sender user interface 114.

In a further example, the user profile 118 also may include settingsdetermined by the instant message sender device 110 or the instantmessage host system 130. For example, the user profile 118 may indicatehow often the user has selected a particular displayed advertisingcontent, as measured by a different counter. In another example, theuser profile 118 may indicate the number of times a particularadvertising content has been displayed in the user's instant messaginguser interface, and/or the time since the advertising content wasdisplayed. Although the user profile 118 has been described as beingstored locally on the instant message sender device 110, in otherimplementations the user profile may be wholly or partially stored onall, or any, of the instant message sender device 110, the instantmessage host device 130, the advertising content server 150, or anotherdevice.

The communications system 100A also includes an instant messagerecipient device 120. The instant message recipient device 120 mayinclude features and characteristics similar to those described abovewith respect to the instant message sender device 110. For example, theinstant message recipient device 120 may include a user profile thatincludes information associated with the user who is logged in to thecommunications system 100A through the instant message recipient device120. Although instant message sender device 110 and instant messagerecipient device 120 have been respectively described in the context ofsending and receiving messages, instant message sender device 110 mayalso be the recipient of instant messages sent from instant messagerecipient device 120, or other devices.

The communications system 100A also includes an instant message hostdevice 130. Instant messages sent between the instant message sender andrecipient may pass through the host device 130. The host device 130includes a host system login server 132 and may also include a userprofile store 134. The host system login server 132 is configured toenable an instant message session participant to log in to the hostdevice 130. The user profile store 134 includes user profiles formultiple users who log into the host device 130. The user profilesincluded in the user profile store may include data similar to thatincluded in the user profile 116 described above.

The instant message host device 130 monitors the frequency of occurrencewith which a particular user has been exposed to an advertising content.Using this frequency information, advertisers can limit the number ofexposures a particular user has to advertising content. The host device130 also may monitor the success of the advertising content by, forexample, monitoring the number of times users click on the advertisingcontent. The instant message host device 130 may also be referred toherein as a centralized server, or an intermediary server.

In addition to or instead of passing through the host device 130,instant messages communicated between an instant message sender and aninstant message recipient also may pass through an advertising contentserver 140. The advertising content server 140 includes an advertisingcontent store 142, an advertising content selection component 144, andan advertising content tracking component 148. The advertising contentselection component may include advertising content configurationsettings 145, an instant message session content tracking component 146,and a user profile store 147. The advertising content server 140 selectsand provides advertising content to the instant message sender device110 after the instant message sender transmits an instant message. Theadvertising content server 140 may be located on, or even replace theinstant message host device 130.

The advertising content server 140 includes an advertising content store142 configured to store the advertising content that is transmitted tothe instant message sender device 110 for display in the instant messagesender user interface 114. The advertising content store 142 may includevarious types of data, for example, images, video, text, or advertisingcontent that includes a combination of various types of data. Theadvertising content store 142 may be implemented as a database.

Images stored in the advertising content store 142 may include, forexample, transparent images and animated images. A particular item ofadvertising content may include more than one image and/or more than onetype of content. For example, an item of advertising content may includeimage, sound, and textual data. In another example, an item ofadvertising content may include multiple images. Additionally, theadvertising content store 142 may store advertising content associatedwith multiple providers. Transparent images are those which allow a userto perceive at least a portion of the background image, text or otherbackground objects displayed behind the transparent image. For example,an image or image overlay which merely highlights existing displayedimages or text would be considered a transparent image.

The advertising content server 140 also includes an advertisingselection component 144. The advertising selection component 144 isconfigured to select an item, or items, of advertising content to sendto the instant message sender device 110. The advertising selectioncomponent 144 may include advertising content configuration settings145, an instant message session content tracking component 146, and auser profile store 147.

Configuration settings related to the advertising content store 142 maybe stored in the advertising configurations settings 145. Theadvertising configuration settings 145 may include settings foradvertising content stored in advertising content store 142, such asadvertising content associated with a particular provider. For example,the advertising configuration settings may include a setting indicatingthat advertising content associated with a particular business not betransmitted to the same user more than five times in a week-long period.By reducing the transmission of advertising content, the viewer'sexposure to and absorption of the advertising content may increase. Theadvertising content configuration settings 145 may be specified by aprovider associated with the advertising, or they may be specified by aservice provider who hosts the instant message communications session.

The advertising content selection component 144 also may include aninstant message session content tracking component 146. The instantmessage content tracking component 146 may be configured to analyze theinstant messages sent between the instant message sender and recipientduring a communications session. Once the content is analyzed, theadvertising selection component 144 may select advertising content fromthe advertising content store 142 that is related to the content of theinstant messages. In some implementations, the content of the instantmessages may be determined by analyzing the messages for predeterminedkey words.

The advertising content selection component 142 also may include a userprofile store 147. The user profile store 147 may include data similarto the data stored in the user profile store 118 and/or the user profilestore 134. For example, the user profile store 147 may indicate how manytimes an instant message recipient has received particular advertisingcontent. In another example, the user profile store 147 may include thedemographic information of a particular user or information related tothe user's interests. This data also may be used to select advertisingcontent of interest to the instant message sender from the advertisingcontent store 147. In another example, the user profile store 147 mayinclude settings indicating products or services that a particular userprefers.

To track the distribution of advertising, the advertising content server140 also includes an advertising content tracking component 148. Theadvertising content tracking component 148 monitors the reaction of theinstant messaging participants to the advertising content sent by theadvertising content server 140 and provides this information to theprovider of the advertising content. For example, the advertisingcontent tracking component 148 may track the number of timesparticipants select particular advertising content. The advertisingcontent tracking component 148 also may monitor how many times aparticular advertising content has been sent to an instant messagesender, using a counter.

The data network 150 provides direct or indirect communication betweenthe instant message sender device 110, the instant message recipientdevice 120, the instant message host device 130, and the advertisingcontent server 140. Examples of the data network 150 include theInternet, the World Wide Web, WANs, LANs, analog or digital wired andwireless telephone networks, cable networks, Integrated Services DigitalNetwork (ISDN), and Digital Subscriber Line (DSL), radio, satellitesystems, and any other delivery mechanism for carrying data.

FIG. 1B is a flowchart depicting an example process 100B for displayingadvertising content in the conversation window of an instant messaginguser interface when an instant message sender is likely to be availableto view the advertising content. The process 100B may be performed byone or more processors in a system, such as, for example, the instantmessage sender device 110 described above with respect to FIG. 1. Theprocess 100B begins (S160) when an instant message sender user interfacefor an instant messaging communications session involving an instantmessage sender and an instant message recipient is rendered (S165). Theinstant message sender user interface includes a conversation windowthat is configured to display instant messages communicated from theinstant message recipient. The process 100B continues when the processorreceives, as user input entered by the instant message sender throughmanipulation of the instant message sender user interface, data fortransmission as an instant message, from the instant message sender(S170).

The process 100B continues when the processor resolves an instruction bythe instant message sender to send the data to the instant messagerecipient based on manipulation by the instant message sender of theinstant message sender user interface (S175). The process 100B alsoincludes triggering the display of advertising content on the instantmessage sender user interface responsive to the instruction by theinstant message sender to send the data to the instant messagerecipient, triggering (S180). Advertising content is then displayed inthe conversation window during at least a portion of the time that theinstant message sender awaits receipt of a reply from the instantmessage recipient (S185). Additionally, the processor may receive areply or response from the instant message recipient. The displayedadvertising content may be changed in form, moved to a differentlocation within the conversation window, or removed from theconversation window altogether in response to receiving a reply from theinstant message recipient.

FIG. 2 is a flowchart depicting an example process 200 for displayingadvertising content in the conversation window of an instant messaginguser interface when an instant message sender is available to view theadvertising content. Briefly, the process 200 includes, among otherthings, rendering an instant message sender user interface for aninstant messaging communications session involving an instant messagesender and an instant message recipient, the instant message sender userinterface including a conversation window configured to display instantmessages communicated from the instant message recipient, receiving auser input accepting data for transmission as an instant message, fromthe instant message sender, generating advertising content based uponreceiving the user input, and displaying the advertising content in theconversation window independently of the instant messages. The process200 may be performed by one or more processors in a system, such as, forexample, the instant message sender device 110 described above withrespect to FIG. 1.

In more detail, process 200 begins (S201) when an instant messagingcommunication session involving an instant message sender and instantmessage sender is established (S202). An instant message sender userinterface is rendered for the instant messaging communications session,the instant message sender user interface including a conversationwindow configured to display instant messages communicated from theinstant message recipient (S204). The instant message sender userinterface may be rendered, for example, on the instant message senderdevice 110.

FIG. 3 illustrates an example instant message sender user interface 300,which includes a conversation window 310, a composition window 320, anda send control 330. The conversation window 310 displays instantmessages from both the instant message sender and the instant messagerecipient. In other examples, the conversation window 310 may includemessages from the instant message recipient, but not the instant messagesender. In the example shown in the instant messaging user interface300, the instant messages include data. However, in other examples, theinstant messages also may include other types of data, such as, forexample, graphical data similar to emoticons. In some implementations,the instant message also may include advertising content.

The interface 300 also includes a composition window 320. The instantmessage sender may compose instant messages in the composition window320 and view them prior to sending the instant message to the instantmessage recipient. The interface 300 also includes the control 330, theselection of which enables the instant message sender to accept data fortransmission as an instant message. The instant message sender mayselect the control 330 using a mouse or other pointing device. In otherimplementations, the instant message sender may accept data fortransmission as an instant message by selecting a key on a keyboardafter entering the data. In on example, the user accepts data fortransmission as an instant message by typing the message, and selectingthe ENTER key.

The instant message sender user interface 300 may also include manyother useful features, such as icon 340 and controls 350. The icon 340may display a user-selected image or avatar, for example to representthe user's actual or on-line identity. The controls 350 may allow theuser to establish, terminate or otherwise manage the instant messagingcommunications session, for example to allow the user to transfer filesbetween session participants. Although the instant message sender userinterface 300 is described in the context of the instant message sender,the instant message recipient also uses a user interface which may havesimilar features.

Returning to FIG. 2, other information, such as banner advertising, mayalso be displayed on the instant message sender user interface (S205). Auser input is received accepting data for transmission as an instantmessage from the instant message sender (S206). For example, the userinput accepting data for transmission may occur when the user selectsthe send button on the graphical instant messaging interface using amouse, or other pointing device. In another example, the user may selectthe send button using a keyboard. In still another example, the userinput may be a keyboard selection made after the user enters the datafor transmission. Data for transmission as an instant message mayinclude, for example, textual data, graphical data, or both.

According to one implementation, a user profile associated with theinstant message sender may be used to select advertising contentrelevant to the instant message sender. For example, the user profilemay include user attributes such as a user's favorite products orservices, or user attributes such as the maximum number of times thatparticular advertising content is to be delivered to a user during apreset temporal period or that particular advertising content is to bedelivered to a user every fifth time the user participates in an instantmessaging session. In this implementation, the attribute may betransmitted to the intermediary server for further processing (S207). Inother implementations, such as where the attribute is not used to selectthe adverting content, or where the attribute information is alreadystored at the intermediary server, the attribute information is nottransmitted from the instant message sender.

The process 200 also includes generating advertising content based uponreceiving the user input (step 209). Generating the advertising contentmay include receiving the advertising content. The advertising contentmay be received with an instant message or it may be received separatefrom the instant message.

FIG. 4 illustrates an implementation of process 209 for generatingadvertising content. When process 209 begins (S401), the data istransmitted to an intermediary server, such as the instant message hostdevice 130 or the advertising content server 140 (S402), and a contextof the data is determined at the intermediary server (S404), such as byusing key words. The advertising content is selected at the intermediaryserver based upon the context of the textual data (S405), and theadvertising content is transmitted from the intermediary server to theinstant message sender (S406), thereby ending process 209 (S407).

The intermediary server may be the instant message host device 130, theadvertising content server 140, or another device. The content trackingcomponent 146 may analyze the instant messages sent between the instantmessage sender and the instant message recipient. For example, if theinstant messages include the words “soccer,” “game,” and “practice,” thecontent tracking component 146 may determine that the instant messagerecipient is interested in soccer and the advertising content server 140sends advertising content related to soccer to the instant messagesender device 110. The advertising content may be selected from, forexample, the advertising content store 142 described above with respectto FIG. 1.

The advertising content may be selected based on attributes in a userprofile associated with the instant message sender. A user profileassociated with the instant message sender may be included in the userprofile store 147 on the advertising content server 140. The userprofile may include the user's demographic information, such as theuser's age, gender, and place of residence. For example, the userprofile may indicate that the instant message sender is male, 25 yearsold, and lives in New York. Based on this information, the advertisingselection component 144 may select advertising content related to anupcoming NEW YORK YANKEES™ baseball game at Yankee Stadium.

In still another example, the instant message session content trackingcomponent 146 may analyze the instant messages sent by the instantmessage sender to determine the context of the instant messages. Theadvertising selection component 144 may use the determined contentinformation to select advertising content from the advertising contentstore 142 that is relevant to the content of the instant messages. Inyet another example, the advertising selection component may use theadvertising configuration settings 145 to select appropriate advertisingcontent from the advertising content store 142. The advertisingconfiguration settings 145 include information related to the display ofadvertising content such as how often a particular provider ofadvertising content should be transmitted to an instant message sender.

In yet another example, the intermediary server may access a userprofile associated with the instant message sender and use the settingsin the user profile to select advertising content relevant to theinstant message sender. The user profile may be the user profile store147. The advertising selection component 144 may select advertisingcontent from the advertising content store 142 based on an attributestored in a user profile associated with the instant message sender andincluded in the user profile store 147. For example, the user profilestore 147 may include user attributes such as a user's favorite productsor services.

In another example, the user profile store may include user attributessuch as the maximum number of times that particular advertising contentis to be delivered to a user during a preset temporal period. The valuesof the attributes in the user profile may be specified by the user, bythe provider of the advertising content, by the instant message senderuser interface (S207), or from the content of the instant messages sentby the user.

The values of the attributes may be inferred from the number of times auser selects a particular displayed advertising content. For example, ifan instant message sender selects most ads related to coffee, but rarelyselects ads related to other products, that user's profile mayautomatically indicate that coffee is the user's favorite product. Forexample, the user profile may include an attribute “Favorite Product,”which is set to “coffee” for the instant message sender. Based on thisattribute value, the advertising selection component 144 selects acoffee-related advertising content to send to the user for display inthe conversation window when the user accepts data for transmission asan instant message.

In other implementations, generating advertising content may includeretrieving advertising content that is stored locally. For example, theadvertising content may be stored on the instant message sender device110. In yet another example, the advertising content may be sent with aninstant message received by the instant message sender device 110 fromthe instant message recipient device 120. When the sender and recipienthave similar interests, the advertising content may be selected toreflect those interests. In some implementations, shared interests maybe indicated by the sender and recipient's profiles or by the content ofthe messages transmitted between the sender and the recipient.

The generated advertising content may include text, video, image,graphical, or any other type of content. The generated advertisingcontent may include more than one type of content, and more than oneinstance of a particular type of content. For example, the advertisingcontent may include more than one image, and the images may be differentsizes. The image may change size when the user selects the image, or theimage may be animated.

A counter may be incremented based upon generating the advertisingcontent (S210). In the situation where particular advertising content isto be delivered to a user every Nth time the user participates in aninstant messaging session, or where the provider of advertising contentmay be concerned about instant message session participants becomingsaturated or annoyed by advertising content, the counter feature can beused. Using this feature, providers of advertising content may specifythat particular users be provided with advertising content every Nthinstant messaging session.

The advertising content is displayed in the conversation window of thegraphical user interface independently of the instant message (step211). The advertising content is displayed in the conversation windowafter the instant message sender has accepted data for transmission asan instant message. Generally, the instant message sender's attention isfocused on the conversation window immediately after accepting data fortransmission because the instant message sender is watching for theinstant message recipient's reply. Thus, displaying the advertisingcontent in the conversation window after the instant message senderaccepts data for transmission increases the instant message sender'sexposure to and potential absorption of the advertising content.

In one implementation, the advertising content is displayed, altered ornot displayed based upon the counter. For instance, if the number oftimes a user has seen particular advertising content exceeds aparticular threshold, a smaller or faster variant of the advertisingcontent may be displayed, or the advertising content may removed or notbe displayed.

The advertising content is displayed independently of the instantmessage. In some implementations, the advertising content is bedisplayed independently of the instant message by displaying it in aportion of the conversation window where the instant message does notappear. In other implementations, the advertising content is displayedindependently of the instant message by displaying the advertisingcontent at a different time than the instant message, or by displayingthe content out-of-line with the instant message. For example, theadvertising content may be displayed immediately after the transmittedinstant message is displayed in the conversation window. Regardless ofthe independent display of the advertising content, the advertisingcontent, or a portion of the advertising content, may obscure a portionof the instant messages displayed in the conversation window.

The advertising content may include more than one image. The images mayrelate to similar subject matter. In this implementation, one of theimages may be shown in the conversation window immediately after theinstant message sender transmits an instant message. Another image fromthe same advertising content may be displayed in the conversation windowafter a predetermined amount of time. For example, a second image may bedisplayed in the portion of the conversation window where the firstimage was displayed within ten seconds of the display of the firstimage. In some implementations, the second image may continue to bedisplayed in the conversation window until the instant messagecommunications session is terminated.

FIG. 5 shows an example of an instant messaging application userinterface 500 that displays advertising content in a conversation windowof the user interface 500 during an instant messaging communicationssession. The user interface 500 may be displayed to an instant messagesender on the instant message sender device 110. FIG. 5 illustrates theuser interface 500 at three different times during the instant messagingcommunications session. The user interface 500 includes a conversationwindow 510 that may display the text of a conversation betweenparticipants of the instant messaging communications session. Asdiscussed above, the conversation window may display the instantmessages received from another instant message session participant.

The conversation window 510 also includes the advertising content 520.Display of the advertising content 520 is triggered by an instantmessage participant sending a message. An instant message participantmay send a message by, for example, pressing a send control 530, whichis also included within the user interface 500. The user interface 500also includes a compose window 540 in which a participant in the instantmessaging communications session may compose a message. During theinstant messaging communications session, the advertising image 520 maybe replaced by subsequent advertising images. In the example shown inFIG. 5, the advertising content 520 includes multiple advertisingimages. In particular, the advertising content 520 is replaced byadvertising images 550 and 560.

Replacement of the advertising content 520 with the advertising image550 may be triggered by the passage of a predetermined amount of timemeasured from when the advertising content 520 was first displayed. Inanother implementation, the advertising content 520 may be replaced withthe advertising image 550 in response to a user input related to theadvertising content 520. For example, the trigger may be the userselecting the advertising content with an input device, such as a mouse.In another example, the trigger may be the receipt or transmission of asubsequent instant message from or to the instant message recipient. Inyet another example, the trigger may be the input of a message by theinstant message sender without the message necessarily beingtransmitted. Similar triggers may cause the advertising image 550 totransition to the advertising image 560. For example, the trigger may bethe passage of a predetermined amount of time since the advertisingcontent 520 was displayed or the passage of a predetermined amount oftime since the advertising content 550 was displayed. This trigger thatresults in the transition from advertising image 550 to advertisingcontent 560 may be the same or different than that which caused thetransition of the advertising content 520 to the advertising image 550.

The advertising images 550 and 560 are of different sizes, and theadvertising images 550 and 560 may be shown within a short period oftime, such as ten seconds after the display of the advertising content520. The advertising images 550 and 560, or the advertising content 520,may cover a portion of the dialog shown in the conversation window 510.In the example shown, the advertising content 520 and the advertisingimage 550 cover a portion of the dialog. However, the advertising image560, which may remain in the conversation window 510 until the instantmessage session is terminated, does not cover any of the dialog in theexample shown.

This configuration may result in the advertising content being lessobtrusive to the instant message sender, while also remaining in theconversation window 510 of the user interface 500 where the instantmessage sender's attention is focused. In some implementations, theadvertising image 560 may be a clickable image that the instant messagerecipient may select with a mouse or other input device. In otherimplementations, the instant message sender may elect to remove theadvertising image 560.

Referring now to FIGS. 6A-6F, an instant messaging user interface 500transitions between having no advertising content in the conversationwindow, having advertising content in the conversation window, andremoval of the advertising content. The user interface 500 includes theconversation window 510 and the compose window 540. In the examplesshown in FIGS. 6A-6F, the user interface 500 is displayed to the instantmessage sender, “george,” in this example and in the example discussedabove with respect to FIG. 5. However, in other examples, the userinterface 500 may be displayed to the instant message recipient (e.g.,“Ringo” in this example and the example discussed with respect to FIG.5). In the examples shown in FIGS. 6A-6F, the instant message senderinputs a message to send to the instant message recipient. However,these examples also apply to a situation in which a message is receivedby the instant message sender except that, in that situation, thereceived text would be displayed only in the conversation window 510rather than one or more of the conversation window 510 and the composewindow 540.

Beginning with FIG. 6A, the user interface 500 is rendered in responseto the instant message sender selecting Ringo as the recipient of aninstant message. The example shown in FIG. 6A is before the instantmessage sender has input an instant message for transmission to theinstant message sender. At this time, neither the conversation window510 nor the compose window 540 includes instant message text.

Referring to FIG. 6B, the instant message sender has entered text to besent as an instant message 610 to the instant message recipient into thecompose window 540. Once the instant message sender selects tocommunicate the text to the instant message recipient, the instantmessage text 610 displayed in the compose window 540 of FIG. 6B may bedisplayed in the conversation window 510, as shown in FIG. 6C. FIG. 6Calso includes the advertising content 520 within the conversation window510. As discussed above, the display of the advertising content 520 maybe triggered by the instant message sender sending the instant message.In other implementations, the display of the advertising content 520 maybe triggered by the receipt of an instant message from the instantmessage sender. In still other implementations, the display of theadvertising content 520 may be triggered by the instant message senderentering the instant message text 610 without necessarily sending it tothe instant message recipient.

As discussed above with respect to FIG. 5, the advertising content 520may include multiple advertising images, or other types of advertisingcontent, such that the advertising content 520 may be replaced withother advertising images. As shown in FIG. 6D, the advertising content520 may transition into the advertising image 550 upon the passage of apredetermined amount of time as measured from the initial display of theadvertising content 520. For example, the advertising content 520 ofFIG. 6C may be displayed for ten seconds. Thus, in the example shown inFIG. 6C, the user interface 500 represents a snapshot of the instantmessaging communications session that is prior to the passage of thepredetermined amount of time. After the advertising content 520 has beendisplayed for ten seconds, the advertising content 520 transitions tothe advertising image 550, as shown in FIG. 6D.

Other triggering events may cause the advertising content 520 totransition to the advertising image 550. For example, the advertisingcontent 520 may be set to transition to another instance of advertisingcontent, or to expire, upon the occurrence of a predefined event. Forexample, the advertising content 520 may transition to the advertisingimage 550 after the advertising content 520 has been displayed for apredetermined amount of time. In another example, the advertisingcontent 520 may transition to the advertising image 550 upon receipt ofa subsequent instant message from the instant message sender.

Similarly, and as shown in FIG. 6E, the advertising image 550transitions to the advertising image 560 upon occurrence of a secondtriggering event. The second triggering event may be, for example, thepassage of a predetermined amount of time as measured from the initialdisplay of the advertising image 550. In another example, the secondtriggering event may be the receipt or sending of a subsequent instantmessage. In yet another example, the second triggering event may bereceipt of a user input selecting the advertising image 550 with a mouseor other input device. Although not shown, additional advertising imagesmay be included in the advertising content 520 and shown at subsequenttimes during the instant messaging communications session.

Referring now to FIG. 6F, the advertising image 560 is no longerdisplayed in the conversation window 510 although the instant messagingsession may still be in progress. The advertising image 560 may havebeen removed from the conversation window 510 in response to atriggering event.

Similar to the transitioning between advertising content 520 andadvertising images 550 and 560, the advertising image 560 may be removedfrom the conversation window 510 after a predetermined time measuredfrom when the advertising image 560 was initially displayed in theconversation window 510. Alternatively, the predetermined time may bemeasured from when the initial advertising content was displayed in theconversation window 510. In this example, the advertising image 560 maybe considered to have “expired.” In another example, the advertisingimage 560 may be removed as a result of a user input specifying that theadvertising image 560 be removed from the conversation window 520. Inyet another example, the advertising image 560 may be removed from theconversation in response to receiving a subsequent instant message fromthe instant message recipient or transmitting a subsequent instantmessage to the instant message recipient. In still another example, theadvertising image 560 may be removed from the conversation window inresponse to the instant messaging session being terminated. Although theexample shown in FIG. 6F illustrates that the advertising image 560 maybe removed from the conversation window 510 during the instant messagingcommunications session, in some implementations the advertising image560 remains in the conversation window 510 throughout the instantmessaging communications session.

Returning to FIG. 2, if the displayed advertising content are selectableby the user, a user input selecting the advertising content may bereceived (S212). The images may be selected by, for example, the userpressing a mouse, or other pointing device, or through a keyboardselection. The selectable images may be “clickable” images that, whenselected by a user, direct a browser on the user's computer to anaddress associated with the provider of the advertising content (S214).

The advertising content tracking component 148 may record dataindicating whether the recipient of the advertising content selects theadvertising content. This information may be provided to the provider ofthe advertising content and used as a gauge of the recipient's reactionto the advertising content, and when aggregated, as a gauge of thereaction of all recipients of the advertising content. The STARBUCKS®coffee advertising content may include a “clickable” image that therecipient may select using a mouse or other pointing device. When therecipient clicks on the image, a browser window on the recipient'scomputer may be directed to the STARBUCKS® coffee web site, or a specialpromotional website associated with STARBUCKS® coffee. The advertisingcontent tracking component 148 may then record an indication that therecipient clicked on the STARBUCKS® coffee advertising content, using acounter.

The user's selection of the advertising content may increment a counterbased on the user's selection (S215). The number of selections of theadvertising content is determined based on the counter (S216), and thedetermined number is sent to the provider of the advertising content(S217). This information may be used by the provider to assess theeffectiveness of advertising content. Alternatively, if the user doesnot select the advertising content (S212), some or all of thesefunctions may be omitted.

The advertising tracking component 148 may include an entry for theinstant message sender that includes data related to the number of timesthe instant message sender has selected a particular item of advertisingcontent and a history of advertising content transmission to the instantmessage sender. The history of advertising content transmission mayinclude a time and date stamp for each item of advertising content thathas been sent to the instant message sender. This information enablesthe advertising content server 140 to ensure that the instant messagesender is not inundated with advertising content that may annoy theinstant message sender.

Information in the advertising tracking component 148 that be updatedwith includes the time that the advertising content was transmitted, theinstant message sender that the advertising content was transmitted to,and an identifier indicating the advertising content transmitted. Forexample, the advertising content selection component 144 may selectSTARBUCKS® coffee advertising content in step 430 based on an instantmessage from an instant message sender “Alex” that includes the words“coffee,” “latte,” and “tired.” After transmitting the selectedSTARBUCKS® coffee advertising content to the instant message sender, theadvertising tracking component 148 may be updated to reflect that aSTARBUCKS® coffee advertising content was transmitted to the instantmessage sender device 110 and displayed in the instant messaging userinterface in response to the instant message sender accepting data fortransmission as an instant message. This information may be used toensure that a particular instant message sender is not inundated withadvertising content.

The advertising content may be removed from the conversation window atany time during the communications session based on receiving a userinput indicating that the advertising content should be removed (S219).When this user input is received, the advertising content is removedfrom display (S220). The advertising content and/or the data may betransmitted to the instant message recipient (S221), where theadvertising content and/or the data may be displayed at the instantmessage recipient (S222).

The instant message communications session may be terminated by, forexample, either the instant message sender or the instant messagerecipient logging off of the instant message host device 130.Alternatively, the communications session may be terminated by thenon-response of either the instant message sender or the instant messagerecipient to an instant message after a predetermined amount of time.When the instant message communications session is terminated (S224),the advertising content is removed from display (S225), thereby endingprocess 200 (S236).

FIG. 7 depicts the exterior appearance of an exemplary system 700,including a computer 701 that implements an instant message senderdevice such as instant message sender device 110, and a computer 702that implements an instant message recipient device such as instantmessage recipient device 120. The example system 700 also includes aserver 704 that implements an instant message host device such asinstant message host device 130, and a server 705 that implements anadvertising content server such as advertising content server 140.

In more detail, the computer 701 is connected to computer 702, andservers 704 and 705, via a network 707. As shown in FIG. 1, the hardwareenvironment of the computer 701 includes a display monitor 708 fordisplaying text and images to a user, a keyboard 709 for entering textdata and user commands into the computer 701, a mouse 710 for pointing,selecting and manipulating objects displayed on the display monitor 708,a fixed disk drive 711, a removable disk drive 712, a tape drive 714, ahardcopy output device 715, a computer network connection 716, and adigital input device 717.

The display monitor 708 displays the graphics, images, and text thatcomprise the user interface for the software applications used by thesystem 700, as well as the operating system programs necessary tooperate the computer 701. A user uses the keyboard 709 to enter commandsand data to operate and control the computer operating system programsas well as the application programs. The user uses the mouse 710 toselect and manipulate graphics and text objects displayed on the displaymonitor 708 as part of the interaction with and control of the computer701 and applications running on the computer 701. The mouse 710 may beany type of pointing device, and may be a joystick, a trackball, atouch-pad, or other pointing device. Furthermore, the digital inputdevice 717 allows the computer 701 to capture digital images, and may bea scanner, a digital camera, a digital video camera, or other digitalinput device. Software used to provide for conditional advertising forinstant messaging is stored locally on computer readable memory media,such as the fixed disk drive 711.

In a further implementation, the fixed disk drive 711 itself may includea number of physical drive units, such as a redundant array ofindependent disks (“RAID”), or may be a disk drive farm or a disk arraythat is physically located in a separate computing unit. Such computerreadable memory media allow the computer 701 to accesscomputer-executable process steps, application programs and the like,stored on removable and non-removable memory media.

The computer network connection 716 may be a modem connection, alocal-area network (“LAN”) connection including the Ethernet, or abroadband wide-area network (“WAN”) connection such as a digitalsubscriber line (“DSL”), cable high-speed internet connection, dial-upconnection, T-1 line, T-3 line, fiber optic connection, or satelliteconnection. The network 707 may be a LAN network, a corporate orgovernment WAN network, the Internet, or other network. The computer 701is directly or indirectly coupled to the computer 702, and/or theservers 704 and 705 via network 707, so as to effectuate unidirectionalor bidirectional transmission of data between the computers 701 and 702and/or the servers 704 and 705.

The computer network connection 716 may be a wireline or wirelessconnector. Example wireless connectors include, for example, an INFRAREDDATA ASSOCIATION® (“IrDA®”) wireless connector, an optical wirelessconnector, an INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS®(“IEEE®”) Standard 802.11 wireless connector, a BLUETOOTH® wirelessconnector, an orthogonal frequency division multiplexing (“OFDM”) ultrawide band (“UWB”) wireless connector, a time-modulated ultra wide band(“TM-UWB”) wireless connector, or other wireless connector. Examplewireline connectors include, for example, a IEEE®-1394 FIREWIRE®connector, a Universal Serial Bus (“USB”) connector, a serial portconnector, a parallel port connector, or other wireline connector.

The removable disk drive 712 is a removable storage device that is usedto off-load data from the computer 701 or upload data onto the computer701. The removable disk drive 712 may be a floppy disk drive, an IOMEGA®ZIP® drive, a compact disk-read only memory (“CD-ROM”) drive, aCD-Recordable drive (“CD-R”), a CD-Rewritable drive (“CD-RW”), flashmemory, a USB flash drive, thumb drive, pen drive, key drive, aHigh-Density Digital Versatile Disc (“HD-DVD”) optical disc drive, aBlu-Ray optical disc drive, a Holographic Digital Data Storage (“HDDS”)optical disc drive, or any one of the various recordable or rewritabledigital versatile disc (“DVD”) drives such as the DVD-Recordable(“DVD-R” or “DVD+R”), DVD-Rewritable (“DVD-RW” or “DVD+RW”), or DVD-RAM.Operating system programs, applications, and various data files, arestored on disks, which are stored on the fixed disk drive 711 or onremovable media for the removable disk drive 712.

The tape drive 714 is a tape storage device that is used to off-loaddata from the computer 701 or to upload data onto the computer 701. Thetape drive 714 may be a quarter-inch cartridge (“QIC”), 4 mm digitalaudio tape (“DAT”), 8 mm digital linear tape (“DLT”) drive, or othertype of tape.

The hardcopy output device 715 provides an output function for theoperating system programs and applications. The hardcopy output device715 may be a printer or any output device that produces tangible outputobjects, including textual or image data or graphical representations oftextual or image data. While the hardcopy output device 715 is depictedas being directly connected to the computer 701, it need not be. Forinstance, the hardcopy output device 715 may be connected to computer701 via a network interface, such as a wireline or wireless network.

The servers 704 and 705 exist remotely on a network, and includes one ormore networked data server devices or servers. The servers 704 and 705execute software which services requests sent by the computers 701 and702, where the servers 704 and 705 may each include a server farm, astorage farm, or a storage server. In an alternate implementation, oneor more of the servers 704 and 705 are omitted, and/or the functionsassociated with the servers 704 and 705 are actually performed by thecomputer 701 and/or 702.

Furthermore, although the computer 701 is illustrated in FIG. 7 as adesktop PC, in further implementations the computer 701 may be a laptop,a workstation, a midrange computer, a mainframe, an embedded system,telephone, a handheld or tablet computer, a PDA, or other type ofcomputer.

Although further description of the components which make up thecomputer 702 and the servers 704 and 705 is omitted for the sake ofbrevity, it suffices to say that the hardware environment of thecomputer or individual networked computers which make up the computer702 and the servers 704 and 704 is similar to that of the exemplaryhardware environment described herein with regard to the computer 701.In an alternate implementation, the functions of the computers 701 and702 and/or the servers 704 and 705 are combined in a single, combinedhardware environment.

FIG. 8 depicts an example of an internal architecture of the computer701. The computing environment includes a computer central processingunit (“CPU”) 800 where the computer instructions that comprise anoperating system or an application are processed; a display interface802 which provides a communication interface and processing functionsfor rendering graphics, images, and texts on the display monitor 708; akeyboard interface 804 which provides a communication interface to thekeyboard 709; a pointing device interface 805 which provides acommunication interface to the mouse 710 or an equivalent pointingdevice; a digital input interface 806 which provides a communicationinterface to the digital input device 717; a hardcopy output deviceinterface 808 which provides a communication interface to the hardcopyoutput device 715; a random access memory (“RAM”) 810 where computerinstructions and data are stored in a volatile memory device forprocessing by the computer CPU 800; a read-only memory (“ROM”) 811 whereinvariant low-level systems code or data for basic system functions suchas basic input and output (“I/O”), startup, or reception of keystrokesfrom the keyboard 709 are stored in a non-volatile memory device; andoptionally a storage 820 or other suitable type of memory (e.g. such asrandom-access memory (“RAM”), read-only memory (“ROM”), programmableread-only memory (“PROM”), erasable programmable read-only memory(“EPROM”), electrically erasable programmable read-only memory(“EEPROM”), magnetic disks, optical disks, floppy disks, hard disks,removable cartridges, flash drives), where the files that comprise anoperating system 821, application programs 822 (including instantmessage application 823, advertising content display application 824,and other applications 825 as necessary) and data files 826 are stored;a computer network interface 816 which provides a communicationinterface to the network 707 over the computer network connection 716.The constituent devices and the computer CPU 800 communicate with eachother over the computer bus 850.

The RAM 810 interfaces with the computer bus 850 so as to provide quickRAM storage to the computer CPU 800 during the execution of softwareprograms such as the operating system application programs, and devicedrivers. More specifically, the computer CPU 800 loadscomputer-executable process steps from the fixed disk drive 711 or othermemory media into a field of the RAM 810 in order to execute softwareprograms. Data is stored in the RAM 810, where the data is accessed bythe computer CPU 800 during execution.

Also shown in FIG. 8, the computer 701 stores computer-executable codefor a operating system 821, application programs 822 such as wordprocessing, spreadsheet, presentation, gaming, or other applications.Although it is possible to provide conditional advertising for instantmessaging using the above-described implementation, it is also possibleto implement the functions according to the present disclosure as adynamic link library (“DLL”), or as a plug-in to other applicationprograms such as an Internet web-browser such as the MICROSOFT® InternetExplorer web browser.

The computer CPU 800 is one of a number of high-performance computerprocessors, including an INTEL® or AMD® processor, a POWERPC® processor,a MIPS® reduced instruction set computer (“RISC”) processor, a SPARC®processor, an ACORN® RISC Machine (“ARM®”) architecture processor, a HPALPHASERVER® processor or a proprietary computer processor for amainframe. In an additional arrangement, the computer CPU 700 is morethan one processing unit, including a multiple CPU configuration foundin high-performance workstations and servers, or a multiple scalableprocessing unit found in mainframes.

The operating system 821 may be MICROSOFT® WINDOWSVISTA®/WINDOWS®NT®/WINDOWS® 2000/WINDOWS® XP Workstation; WINDOWSNT®/WINDOWS® 2000/WINDOWS® XP Server; a variety of UNIX®-flavoredoperating systems, including AIX® for IBM® workstations and servers,SUNOS® for SUN® workstations and servers, LINUX® for INTEL® CPU-basedworkstations and servers, HP UX WORKLOAD MANAGER® for HP® workstationsand servers, IRIX® for SGI® workstations and servers, VAX/VMS forDigital Equipment Corporation computers, OPENVMS® for HPALPHASERVER®-based computers, MAC OS® X for POWERPC® based workstationsand servers; SYMBIAN OS®, WINDOWS MOBILE® or WINDOWS CE®, PALM®, NOKIA®OS (“NOS”), OSE®, or EPOC® for mobile devices, or a proprietaryoperating system for computers or embedded systems. The applicationdevelopment platform or framework for the operating system 721 may be:BINARY RUNTIME ENVIRONMENT FOR WIRELESS® (“BREW®”); Java Platform, MicroEdition (“Java ME”) or Java 2 Platform, Micro Edition (“J2ME®”);PYTHON™, FLASH LITE®, or MICROSOFT® .NET Compact.

Although further description of the internal architecture of the servers704 and 705 is omitted for the sake of brevity, it suffices to say thatthe architectures are similar to that of the computer 701. In analternate implementation, where the functions of the computers 701 and702 and/or the servers 704 and 704 are combined, the internalarchitectures may also be combined or duplicated.

While FIGS. 7 and 8 illustrate one possible implementation of acomputing system that executes program code, or program or processsteps, configured to effectuate conditional advertising for instantmessaging, other types of computers may also be used as well.

The arrangements have been described with particular illustrativeimplementations. It is to be understood that the concepts are nothowever limited to the above-described implementations, and that variouschanges and modifications may be made.

1-40. (canceled)
 41. A computer-implemented method for displayingadvertising content, the method comprising the following operationsperformed by at least one processor: determining contextual informationpreviously viewed by a messenger in electronic communications with arecipient; generating, based on the viewed contextual information, avalue of an attribute; selecting, based on the value of the attribute,advertising content; and electronically displaying, to the messenger,the selected advertising content while the messenger awaits anelectronic message from the recipient.
 42. The method of claim 41,further comprising generating an instruction to display the selectedadvertising content separately from the electronic communications withthe recipient.
 43. The method of claim 42, wherein generating theinstruction to display the advertising content separately from theelectronic communications with the recipient comprises displaying theadvertising content in a first portion of a conversation window anddisplaying electronic messages in a second portion of the conversationwindow.
 44. The method of claim 42, wherein generating the instructionto display the advertising content separately from the electroniccommunications with the recipient comprises displaying the advertisingcontent out-of-line with a display of electronic messages.
 45. Themethod of claim 41, further comprising selecting advertising content fordisplay in a conversation window of a messenger user interface.
 46. Themethod of claim 41, further comprising receiving an electronic messagecommunicated from the recipient; and generating an instruction to alterthe displayed advertising content based on receiving the electronicmessage communicated from the recipient.
 47. The method of claim 46,wherein generating the instruction to alter the displayed advertisingcontent comprises locating the advertising content in another portion ofa conversation window.
 48. The method of claim 46, wherein altering thedisplayed advertising content comprises changing the size or shape ofthe advertising content.
 49. The method of claim 46, wherein generatingthe instruction to alter the displayed advertising content comprisesgenerating an instruction to remove the advertising content from aconversation window.
 50. The method of claim 41, wherein the advertisingcontent is displayed upon receipt of the electronic message communicatedfrom the recipient.
 51. A system for displaying advertising content, thesystem comprising: a memory storing instructions; and one or moreprocessors configured to execute the instructions to: determinecontextual information previously viewed by a messenger in electroniccommunications with a recipient; generate, based on the viewedcontextual information, a value of an attribute; select, based on thevalue of the attribute, advertising content; and electronically display,to the messenger, the selected advertising content while the messengerawaits an electronic message from the recipient.
 52. The system of claim51, wherein the one or more processors are further configured to:generate an instruction to display the selected advertising contentseparately from the electronic communications with the recipient. 53.The system of claim 52, wherein generating the instruction to displaythe advertising content separately from the electronic communicationswith the recipient comprises displaying the advertising content in afirst portion of a conversation window and displaying electronicmessages in a second portion of the conversation window.
 54. The systemof claim 52, wherein generating the instruction to display theadvertising content separately from the electronic communications withthe recipient comprises displaying the advertising content out-of-linewith a display of electronic messages.
 55. The system of claim 51,wherein the one or more processors are further configured to: selectadvertising content for display in a conversation window of a messengeruser interface.
 56. The system of claim 51, wherein the one or moreprocessors are further configured to: receive an electronic messagecommunicated from the recipient; and generate an instruction to alterthe displayed advertising content based on receiving the electronicmessage communicated from the recipient.
 57. The system of claim 56,wherein generating the instruction to alter the displayed advertisingcontent comprises locating the advertising content in another portion ofa conversation window.
 58. The system of claim 56, wherein the one ormore processors are further configured to: alter the displayedadvertising content comprises changing the size or shape of theadvertising content.
 59. The system of claim 56, wherein generating theinstruction to alter the displayed advertising content comprisesgenerating an instruction to remove the advertising content from aconversation window.
 60. The system of claim 51, wherein the advertisingcontent is displayed upon receipt of the electronic message communicatedfrom the recipient.